package com.fowo.api.model.inventory.details;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.fowo.api.common.mybatis.handlers.SysFileListTypeHandler;
import com.fowo.api.controller.purchase.dto.PurchaseOrderResult;
import com.fowo.api.sys.entity.SysFile;
import io.swagger.v3.oas.annotations.media.Schema;
import java.io.Serializable;
import java.util.List;
import lombok.Getter;
import lombok.Setter;

/**
 * 库存明细仓库库存视图结果
 */
@Getter
@Setter
public class InventoryDetailsWarehouseStockResult implements Serializable {

  @TableField(value = "`图片`", typeHandler = JacksonTypeHandler.class)
  @Schema(title = "图片")
  private List<SysFile> 图片;

  @Schema(title = "品名")
  private String 品名;

  @Schema(title = "sku")
  private String sku;

  @Schema(title = "店铺")
  private String 店铺;

  @Schema(title = "FNSKU")
  private String fn_sku;

  @Schema(title = "MSKU")
  private String msku;

  @Schema(title = "产品标签")
  private String 产品标签;

  @Schema(title = "国家")
  private String 国家;

  @Schema(title = "仓库")
  private String 仓库;

  @Schema(title = "仓位")
  private String 仓位;

  @Schema(title = "款名")
  private String 款名;

  @Schema(title = "spu")
  private String spu;

  @Schema(title = "属性")
  private String 属性;

  @Schema(title = "分类")
  private String 分类;

  @Schema(title = "品牌")
  private String 品牌;

  @Schema(title = "Listing负责人")
  private String Listing负责人;

  @Schema(title = "单位")
  private String 单位;

  @Schema(title = "型号")
  private String 型号;

  @Schema(title = "产品状态")
  private String 产品状态;

  @Schema(title = "可用量")
  private String 可用量;

  @Schema(title = "可用锁库量")
  private String 可用锁定量;

  @Schema(title = "次品量")
  private String 次品量;

  @Schema(title = "次品锁定量")
  private String 次品锁定量;

  @Schema(title = "预锁定量")
  private String 预锁定量;

  @Schema(title = "待检待上架量")
  private String 待检待上架量;

  @Schema(title = "待到货量")
  private String 待到货量;

  @Schema(title = "期望可用量")
  private String 期望可用量;

  @Schema(title = "期望待到货量")
  private String 期望待到货量;

  @Schema(title = "调拨在途")
  private String 调拨在途;

  @Schema(title = "调拨在途货值")
  private String 调拨在途货值;

  @Schema(title = "调拨在途费用")
  private String 调拨在途费用;

  @Schema(title = "调拨在途头程")
  private String 调拨在途头程;

  @Schema(title = "调拨在途库存成本")
  private String 调拨在途库存成本;

  @Schema(title = "移除在途")
  private String 移除在途;

  @Schema(title = "实际总量")
  private String 实际总量;

  @Schema(title = "预计总量")
  private String 预计总量;

  @Schema(title = "采购单价")
  private String 采购单价;

  @Schema(title = "单位费用")
  private String 单位费用;

  @Schema(title = "单位头程")
  private String 单位头程;

  @Schema(title = "单位库存成本")
  private String 单位库存成本;

  @Schema(title = "货值")
  private String 货值;

  @Schema(title = "费用")
  private String 费用;

  @Schema(title = "头程")
  private String 头程;

  @Schema(title = "库存成本")
  private String 库存成本;

  @Schema(title = "平均库龄")
  private String 平均库龄;

  @Schema(title = "预警状态")
  private String 预警状态;

  @Schema(title = "仓库id")
  private String warehouse_id;

  @Schema(title = "产品id")
  private String product_id;

  @Schema(title = "店铺id")
  private String shop_id;

  @Schema(title = "平均库龄")
  private String averAgeStockAge;

  @Schema(title = "0-15天库龄")
  private String ageStockAge15;

  @Schema(title = "16-30天库龄")
  private String ageStockAge30;

  @Schema(title = "31-90天库龄")
  private String ageStockAge90;

  @Schema(title = "91天以上库龄")
  private String ageStockAge91;

  @Schema(title = "仓位")
  private List<InventoryDetailsGetBinInventoryResult> binArr;
  @Schema(title = "采购单")
  private List<PurchaseOrderResult> purchaseOrderList;
}
